842 research outputs found

    A fast analysis-based discrete Hankel transform using asymptotic expansions

    Full text link
    A fast and numerically stable algorithm is described for computing the discrete Hankel transform of order 00 as well as evaluating Schl\"{o}milch and Fourier--Bessel expansions in O(N(log⁑N)2/log⁑ ⁣log⁑N)\mathcal{O}(N(\log N)^2/\log\!\log N) operations. The algorithm is based on an asymptotic expansion for Bessel functions of large arguments, the fast Fourier transform, and the Neumann addition formula. All the algorithmic parameters are selected from error bounds to achieve a near-optimal computational cost for any accuracy goal. Numerical results demonstrate the efficiency of the resulting algorithm.Comment: 22 page

    A fast and well-conditioned spectral method

    Get PDF
    A novel spectral method is developed for the direct solution of linear ordinary differential equations with variable coefficients. The method leads to matrices which are almost banded, and a numerical solver is presented that takes O(m2n)O(m^{2}n) operations, where mm is the number of Chebyshev points needed to resolve the coefficients of the differential operator and nn is the number of Chebyshev points needed to resolve the solution to the differential equation. We prove stability of the method by relating it to a diagonally preconditioned system which has a bounded condition number, in a suitable norm. For Dirichlet boundary conditions, this reduces to stability in the standard 2-norm

    The automatic solution of partial differential equations using a global spectral method

    Full text link
    A spectral method for solving linear partial differential equations (PDEs) with variable coefficients and general boundary conditions defined on rectangular domains is described, based on separable representations of partial differential operators and the one-dimensional ultraspherical spectral method. If a partial differential operator is of splitting rank 22, such as the operator associated with Poisson or Helmholtz, the corresponding PDE is solved via a generalized Sylvester matrix equation, and a bivariate polynomial approximation of the solution of degree (nx,ny)(n_x,n_y) is computed in O((nxny)3/2)\mathcal{O}((n_x n_y)^{3/2}) operations. Partial differential operators of splitting rank β‰₯3\geq 3 are solved via a linear system involving a block-banded matrix in O(min⁑(nx3ny,nxny3))\mathcal{O}(\min(n_x^{3} n_y,n_x n_y^{3})) operations. Numerical examples demonstrate the applicability of our 2D spectral method to a broad class of PDEs, which includes elliptic and dispersive time-evolution equations. The resulting PDE solver is written in MATLAB and is publicly available as part of CHEBFUN. It can resolve solutions requiring over a million degrees of freedom in under 6060 seconds. An experimental implementation in the Julia language can currently perform the same solve in 1010 seconds.Comment: 22 page

    A fast, simple, and stable Chebyshev-Legendre transform using an asymptotic formula

    Get PDF
    A fast, simple, and numerically stable transform for converting between Legendre and Chebyshev coefficients of a degree NN polynomial in O(N(log⁑N)2/log⁑log⁑N)O(N(\log N)^{2}/ \log \log N) operations is derived. The basis of the algorithm is to rewrite a well-known asymptotic formula for Legendre polynomials of large degree as a weighted linear combination of Chebyshev polynomials, which can then be evaluated by using the discrete cosine transform. Numerical results are provided to demonstrate the efficiency and numerical stability. Since the algorithm evaluates a Legendre expansion at an N+1N+1 Chebyshev grid as an intermediate step, it also provides a fast transform between Legendre coefficients and values on a Chebyshev grid
    • …
    corecore